/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package org.opensource.jdom.taggen.html.tag;

import org.opensource.jdom.taggen.html.CommonAttributes;

/**
 * Anchor. Primarily used as a hypertext link. The link can be to another page,
 * a part of a page or any other location on the web.<br>
 * Note: An anchor (a point in a page where a link can jump to) does not need to
 * be defined with the a tag. Applying the id attribute to any tag will achieve
 * this.
 *
 * <h2>Example</h2> <pre><code class="html">
 * &lt;p&gt;<strong>&lt;a href="http://www.htmldog.com"&gt;</strong>
 * Link to a URI<strong>&lt;/a&gt;</strong>&lt;/p&gt;
 * ;p&gt;<strong>&lt;a href="#content"&gt;</strong>
 * Link to a page anchor<strong>&lt;/a&gt;</strong>&lt;/p&gt;
 * </code></pre>
 *
 * @see Base
 * @author sergio.valdez
 */
public class A extends CommonAttributes{

    /**
     * can be used to specify the target of a link. 
     */
    private String href;
    /**
     * can be used to specify the character set of the target of a link.
     */
    private String charset;
    /**
     * can be used to specify the MIME type of the target of a link.
     */
    private String type;
    /**
     * can be used to specify the language (in the form of a language code) of
     * the target of a link. It should only be used when href is also used.
     */
    private String hreflang;
    /**
     * can be used to specify the relationship of the target of the link to the
     * current page
     */
    private String rel;
    /**
     * can be used to specify the relationship of the current page to the target
     * of the link.
     */
    private String rev;
    /**
     * can be used to associate a keyboard shortcut to the element.
     */
    private String accesskey;
    /**
     *  can be used to specify where the element appears in the tab order of the
     * page.
     */
    private String tabindex;

    /**
     * can be used to specify the target of a link.
     * @return the href
     */
    public String getHref() {
        return href;
    }

    /**
     * can be used to specify the target of a link.
     * @param href the href to set
     */
    public void setHref(String href) {
        this.href = href;
    }

    /**
     * can be used to specify the character set of the target of a link.
     * @return the charset
     */
    public String getCharset() {
        return charset;
    }

    /**
     * can be used to specify the character set of the target of a link.
     * @param charset the charset to set
     */
    public void setCharset(String charset) {
        this.charset = charset;
    }

    /**
     * can be used to specify the MIME type of the target of a link.
     * @return the type
     */
    public String getType() {
        return type;
    }

    /**
     * can be used to specify the MIME type of the target of a link.
     * @param type the type to set
     */
    public void setType(String type) {
        this.type = type;
    }

    /**
     * can be used to specify the language (in the form of a language code) of
     * the target of a link. It should only be used when href is also used.
     * @return the hreflang
     */
    public String getHreflang() {
        return hreflang;
    }

    /**
     * can be used to specify the language (in the form of a language code) of
     * the target of a link. It should only be used when href is also used.
     * @param hreflang the hreflang to set
     */
    public void setHreflang(String hreflang) {
        this.hreflang = hreflang;
    }

    /**
     * can be used to specify the relationship of the target of the link to the
     * current page
     * @return the rel
     */
    public String getRel() {
        return rel;
    }

    /**
     * can be used to specify the relationship of the target of the link to the
     * current page
     * @param rel the rel to set
     */
    public void setRel(String rel) {
        this.rel = rel;
    }

    /**
     * can be used to specify the relationship of the current page to the target
     * of the link.
     * @return the rev
     */
    public String getRev() {
        return rev;
    }

    /**
     * can be used to specify the relationship of the current page to the target
     * of the link.
     * @param rev the rev to set
     */
    public void setRev(String rev) {
        this.rev = rev;
    }

    /**
     * can be used to associate a keyboard shortcut to the element.
     * @return the accesskey
     */
    public String getAccesskey() {
        return accesskey;
    }

    /**
     * can be used to associate a keyboard shortcut to the element.
     * @param accesskey the accesskey to set
     */
    public void setAccesskey(String accesskey) {
        this.accesskey = accesskey;
    }

    /**
     * can be used to specify where the element appears in the tab order of the
     * page.
     * @return the tabindex
     */
    public String getTabindex() {
        return tabindex;
    }

    /**
     * can be used to specify where the element appears in the tab order of the
     * page.
     * @param tabindex the tabindex to set
     */
    public void setTabindex(String tabindex) {
        this.tabindex = tabindex;
    }
}
